
#ifndef SOS_SYSCALL_H
#define SOS_SYSCALL_H

void sos_syscall_open(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_open_reply(sos_pcb *pcb, int proc_fd, int err);

void sos_syscall_stat(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_stat_reply(sos_pcb *pcb, int err, sos_stat_t stat_buf);

void sos_syscall_close(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_read(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_write(sos_pcb *pcb, seL4_Word reply_cap);

void sos_syscall_time_stamp(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_usleep(sos_pcb *pcb, seL4_Word reply_cap);

void sos_syscall_brk(sos_pcb *pcb, seL4_Word reply_cap);

void sos_syscall_pid(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_process_create(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_process_delete(sos_pcb *pcb, seL4_Word reply_cap);
void sos_syscall_process_wait(sos_pcb *pcb, seL4_Word reply_cap);

#endif // SOS_SYSCALL_H
